;Coding/Tutorial by Flawless & Humanoid Typhoon & Seravy
;Use Ctrl+F to navigate easier. 
  
;Sometimes the command="start" is supposed to be command="s"
;It varies by character. Change In (Statedef 12345) or in the character's .CMD file.

;If you have to you can change these variables into variables that you're character is NOT using.


;Variables IN USE for this TOOL

;fvar(36)
;fvar(37)
;fvar(38)
;fvar(39)

;Cut this out and put this in the character overrides area which is - (Statedef -2)

[State 5900, Mode Detection]
type = VarSet
trigger1 = 1
var(43) = 0
ignoreHitPause = 1

[State 5900, End]
type = ChangeState
trigger1 = 1
value = 5901
 
;These Initialize before the start of the round. (statedef 5900)
;You can also disable XCOSTUME by changing a value (see below).

[statedef 5900]
type = S

[state 5900, Reset Variables]
type = varrangeset
trigger1 = !roundsexisted; && matchno = 1
value = 0

[state 5900, Reset Variables]
type = varrangeset
trigger1 = !roundsexisted; && matchno = 1
fvalue = 0

[State 5900, Mode Detection]
type = VarSet
trigger1 = 1
var(43) = 0
ignoreHitPause = 1

 ; Palette Selector
[State 5900, Palette Selector]
type = VarSet
trigger1 = 1
fv = 37
value = 1

; If value = 1 Palette Selector is ON
; If value = 0 Palette Selector is OFF 
  
[State 5900, Pal Selector on]
type=helper
triggerall=fvar(37)&&!numhelper(12345)&&!AILevel&&numenemy 
trigger1= roundno = 1 && matchno=1 && !(teammode = simul) && !(enemy, teammode = simul)
trigger2= !fvar(36) 
trigger3=(teammode = turns)
trigger3=!roundsexisted && (enemy,roundsexisted)
id=12345
stateno=12345
facing=facing
ownpal=1
size.xscale = .5
size.yscale = .5

[state 5900, No Palette selector]
type = remappal
trigger1 = !fvar(37)||AILevel
source = 1, 1
dest = 1, palno 
ignorehitpause = 1

[State 5900, Intro vs Jesuszilla's Eagle]
type = ChangeState
triggerAll = NumEnemy
triggerAll = RoundNo = 1 || (!(Enemy, RoundsExisted) && !(TeamMode = Simul) && !(Enemy, TeamMode = Simul))
trigger1 = enemy, name = "eagle"; && enemy, authorname = "DivineWolf"
trigger2 = enemy, name = "cvseagle"
value = 193

[State 5900, Intro vs Jmorphman's Joe]
type = null;ChangeState
triggerAll = NumEnemy
triggerAll = RoundNo = 1 || (!(Enemy, RoundsExisted) && !(TeamMode = Simul) && !(Enemy, TeamMode = Simul))
trigger1 = Enemy, Name = "Joe Higashi" && enemy,authorname = "Jmorphman"
value = 

[State 5900, Intro vs H's Adon]
type = ChangeState
triggerAll = NumEnemy
triggerAll = RoundNo = 1 || (!(Enemy, RoundsExisted) && !(TeamMode = Simul) && !(Enemy, TeamMode = Simul))
trigger1 = enemy, name = "Adon"
trigger2 = Enemy, Name = "cvsadon" && enemy,authorname = "Hh"
value = 194

[State 5900, Intro vs Balrog]
type = ChangeState
triggerAll = NumEnemy
triggerAll = RoundNo = 1 || (!(Enemy, RoundsExisted) && !(TeamMode = Simul) && !(Enemy, TeamMode = Simul))
trigger1 = enemy, name = "Balrog"
;trigger2 = Enemy, Name = "cvsadon" && enemy,authorname = "Hh"
value = 19411

[State 5900, Intro vs Ryu]
type = ChangeState
triggerAll = NumEnemy
triggerAll = RoundNo = 1 || (!(Enemy, RoundsExisted) && !(TeamMode = Simul) && !(Enemy, TeamMode = Simul))
trigger1 = Enemy, Name = "Ryu" && enemy,authorname = "Phantom.of.the.Server" || Enemy, Name = "cvsryu" || Enemy, Name = "cvsryu_normal" || Enemy, Name = "Ryu" || Enemy, Name = "Ryu Hoshi"
value = 191

[State 5900, Intro vs Sagat / Evil Ryu]
type = ChangeState
triggerAll = NumEnemy
triggerAll = RoundNo = 1 || (!(Enemy, RoundsExisted) && !(TeamMode = Simul) && !(Enemy, TeamMode = Simul))
trigger1 = Enemy, Name = "Sagat" || Enemy, Name = "cvsSagat" || Enemy, Name = "SF4Sagat"
trigger2 = Enemy, Name = "Evil Ryu"
value = 19011

[State 5900, Intro vs Joe Higashi]
type = ChangeState
triggerAll = NumEnemy
triggerAll = RoundNo = 1 || (!(Enemy, RoundsExisted) && !(TeamMode = Simul) && !(Enemy, TeamMode = Simul))
trigger1 = Enemy, Name = "Joe" || Enemy, Name = "Joe Higashi"
;trigger2 = Enemy, Name = "Evil Ryu"
value = 19511

[State 5900, Intro vs Evil Ken / M.Bison / gouki]
type = ChangeState
triggerAll = NumEnemy
triggerAll = RoundNo = 1 || (!(Enemy, RoundsExisted) && !(TeamMode = Simul) && !(Enemy, TeamMode = Simul))
trigger1 = Enemy, Name = "Gouki" || Enemy, Name = "Akuma"
trigger2 = Enemy, Name = "Evil Ken" || Enemy, Name = "M.Bison" || Enemy, Name = "M. Bison"
value = 19012
 
[State 5900, Intro vs Dan]
type = ChangeState
triggerAll = NumEnemy
triggerAll = RoundNo = 1 || (!(Enemy, RoundsExisted) && !(TeamMode = Simul) && !(Enemy, TeamMode = Simul))
trigger1 = Enemy, Name = "Dan"
trigger2 = Enemy, Name = "cvsdan"; && enemy,authorname = "Phantom.of.the.Server" || Enemy, Name = "cvsryu" || Enemy, Name = "cvsryu_normal" || Enemy, Name = "Ryu" || Enemy, Name = "Ryu Hoshi"
value = 187 + (Random % 3)

[State 5900, Intro vs Muay Thai Fighters]
type = ChangeState
triggerAll = NumEnemy
triggerAll = RoundNo = 1 || (!(Enemy, RoundsExisted) && !(TeamMode = Simul) && !(Enemy, TeamMode = Simul))
trigger1 = Enemy, Name = "cvsking" || Enemy, Name = "King" || Enemy, Name = "Shura" || Enemy, Name = "Muaythaiman-beta" 
value = 192

[State 5900, Turns Intro]
type = ChangeState
trigger1 = !RoundsExisted
trigger1 = teammode = Turns
value = 190

[State 5900, Start round timer if No Intro Available]
type = ChangeState
trigger1 = 1
value = 0
 
[State 5900, Turns Intro]
type = ChangeState
trigger1 = TeamMode = Turns
trigger1 = !RoundsExisted && RoundNo >= 2
value = 6900

[State 5900, Intro Decider]
type = ChangeState
trigger1 = RoundNo = 1
value = 190 + (Random % 5)

[State 5900, End]
type = ChangeState
trigger1 = 1
value = 0
 
 
;This is the palette selector helper (statedef 12345)
;You can change the animation size using the x-y scales.

[Statedef 12345]
physics = N
anim = 12345
velset=0,0
sprpriority=99999
 
[State 12345, PosSet]
type = PosSet
trigger1 =!time 
x = root,facing*-90 
y = 25
ignorehitpause = 1
 
[State 12345, AS]
type=assertspecial
trigger1=1
flag=intro
flag2=noshadow

[State 12345, Reset]
type=varset
trigger1=!time
fvar(38)=200

[State 12345, Pal]
type=varset
trigger1=!time
fvar(36)=root,palno
 
[State 12345, Varset]
type=varset
trigger1=fvar(36)<1||fvar(36)>309;260;47 ; last palette
fvar(36)=1+(fvar(36)<1)*308;259;46 ; subtract -1 from your last palette
 
[State 12345, PlaySnd]
type = PlaySnd
trigger1 =fvar(39)=2 
value = S12345,0
volumescale = 100
channel = 20

[State 12345, PlaySnd]
type = PlaySnd
triggerall=ishelper(12345)
trigger1=root,command="a"||root,command="b"||root,command="c"||root,command="x"||root,command="y"||root,command="z"||root,command="s"||roundstate=2
value = S12345,1
volumescale = 100
channel = 20
persistent =0  
  
[State 12345, Countdown]
type = VarAdd
trigger1 =1 
fvar(38)=-1

[State 12345, Countdown]
type = VarAdd
trigger1=!fvar(39)&&fvar(38)<150
trigger1=root,command="holdup"||root,command="holddown"||root,command="holdback"||root,command="holdfwd"
fvar(38)=25
 
[State 12345, Varadd]
type=varadd
trigger1=!fvar(39)
trigger1=root,command="holdup"||root,command="holddown"||root,command="holdback"||root,command="holdfwd"
fvar(36)=1-(root,command="holddown"||root,command="holdback"&&facing=1||root,command="holdfwd"&&facing=-1)*2

 
[State 12345, Varadd]
type=varadd
trigger1=(root,command="holdup"||root,command="holddown"||root,command="holdback"||root,command="holdfwd")&&!fvar(39)||fvar(39)
fvar(39)=1
 
[State 12345, Varset]
type=varset
trigger1=!time||fvar(39)>=17
fvar(39)=0
 
[State 12345, End]
type=destroyself
triggerall=ishelper(12345)
trigger1=root,command="a"||root,command="b"||root,command="c"||root,command="x"||root,command="y"||root,command="z"||root,command="s"||roundstate=2
trigger2=root,AILevel